The present invention relates to a robot control apparatus for controlling the movement of an arm of a direct drive robot.
A robot has been recently introduced into a production line for automated productions and a direct drive robot has been put in practical use with a demand for production at a high speed and with a high accuracy. A control function for controlling the moving speed of the direct drive robot has been developed and will put to practical use.
An example of a conventional method for controlling the arm of a robot is described with reference to FIG. 3 which shows a conventional current control loop of the robot. The robot control apparatus comprises a command section 1 for sequentially outputting a current value necessary for driving a motor to a subtracter 2; the subtracter 2; an electric power amplifier 3 for applying to the motor a voltage proportional to the current value instructed by the command section 1; a current detector 4 for detecting current flowing the motor 5; and the motor 5.
The operation of the apparatus of the above construction is described below. The command section 1 calculates a current value necessary for driving the motor 5, thus outputting the current value to the current control loop. The subtracter 2 subtracts the current value outputted from the current detector 4 from the current value outputted from the command section 1 so that both values are equal to each other, thus outputting a signal to the electric power amplifier 3 as a result of the subtraction. Thus, current flows through the motor 5 so that the current flowing the motor 5 is equal to the current value outputted from the command section 1.
According to the above construction, due to the static friction of the motor bearing, the motor shaft does not start rotating when the arm of the robot starts moving. Another issue is that an impulse force is generated when the arm of the robot arm contacts an object such as a workpiece.
In order to resolve the issue, there has been proposed an apparatus for controlling the movement of the arm of a robot based on the relationship between the frequencies of the arm and the object and the current. FIG. 4 is a graph showing the relationship between the frequencies and the current according to detected values and expected values in the conventional robot control apparatus. In FIG. 4, a curve X is drawn based on previously expected and calculated values, a curve Y is drawn based on detected values in the conventional apparatus, and a curve Z is drawn as a result of the addition of curves X and Y. The values of the curve X are previously calculated so that the calculated values of the curve X may be added to the detected values of the curve Y to form the curve Z. The curve Z shows the smooth movement of the arm. Then, in the conventional apparatus, the current flowing the motor is controlled so that both curves X and Y may be added to form the smooth curve Z for smoothly controlling the movement of the arm.
However, if a curve drawn based on actually detected values is greatly different from the curve Y, even though both the values of the actually detected curve and the curve X are added to each other, it is impossible to form the curve Z, thus preventing the smooth movement of the arm of the robot.